#include <jni.h>
#include <string>

class Verification
{
public:
	Verification(JNIEnv*, jobject);
	~Verification();
	bool isEqual();

private:
	//正式的app签名字符串
	//const std::string RELEASE_SIGN ="308202b73082019fa00302010202040a8bb380300d06092a864886f70d01010b0500300c310a30080603550403130162301e170d3137303432343038323834375a170d3432303431383038323834375a300c310a3008060355040313016230820122300d06092a864886f70d01010105000382010f003082010a028201010097193200514761a1ec75a8894e6d41369bd83263a8563d30dc49117d7fe0ef52e500056b3348d2103d57c765abc2feb39808486741163a82f2c0e2082a5bfc661e4b4deb55266bca0622f8d639c33deeb47c5b8ab9244e5b1498d1c4fbeb371523cb58e35201a03b1f5f9cb7a2fd57c394c43606cc9775f47d772803f30d28b72e410316c2511c1ce2e37ec5b9ca0dac46a2ada4a6310189d05e05db767c94dec618a260aee0a37e9a40b31778aadb746ff81976ad596f2be54958e0e9bd61cc65e9b5c83391f46ed2f7952f50cab6d597df6f9a00e566b2372f05da980a9f4622f890832e79e0a7d104c38107297e7471c38d952f4b9ad321c3a2aadc148b770203010001a321301f301d0603551d0e04160414c963abafab5da86d384087e62d686a3ea80dda68300d06092a864886f70d01010b0500038201010070851ff7881d368d0f63c658160e4f1c72513bd7a5393fc71d14b15bb57f4d876e89618a59305cc8d2efbebcd2fa26cd8ca2d5aba13bf323a60e8a5adcb77565bb5a6e";
	//正式的app签名字符串md5后的结果，直接使用签名字符串比较多次尝试都不相等 ，位置原因(太长？)
	const std::string RELEASE_SIGN_MD5_END = "3e275f8f9dba5324ba2ce4d7a27e37f6";
	//通过反射获取app的签名字符串
	std::string getSign();
	JNIEnv* env = NULL;
	jobject contextObject = NULL;

};

std::string getReleaseSign(std::string,std::string);
bool verification(JNIEnv*,jobject);
jstring checkAndReturn32(JNIEnv* ,const std::string ,const std::string,const jobject);
jstring checkAndReturn(JNIEnv* ,const std::string ,const std::string,const std::string,const jobject);

